/** 输入DTO：应用程序包 */
export interface AppPackageInputDto {
  /** 编号 */
  Id: string | bigint;

  /** 版本编号 */
  VersionId: string | bigint;

  /** 包名称 */
  Name: string;
  /** 包内容 */
  Content: string;

  /** 描述 */
  Description: string;
  /** 备注 */
  Remark: string;
}

/** 输出DTO：应用程序包 */
export interface AppPackageOutputDto extends AppPackageInputDto {
  /** 实体类型 */
  EntityType: string;

  /** 应用编码 */
  AppCode: string;
  /** 应用平台 */
  AppPlatform: string;

  /** 应用名称 */
  AppName: string;

  /** 版本名称 */
  Version: string;
  /** 版本号 */
  VersionCode: string;

  /** 创建时间 */
  CreatedTime: Date;

  /** 更新时间 */
  UpdatedTime?: Date;
}

/** 简单输入DTO：移动端版本 */
export interface AppVersionInputDtoSimple {
  /** 编号 */
  Id: string | bigint;

  /** 应用编号 */
  AppId: string | bigint;

  /** 版本名称 */
  Version: string;
  /** 版本号 */
  VersionCode: string;

  /** 标题 */
  Title: string;
  /** 内容 */
  Content: string;

  /** 启用 */
  Enabled: boolean;

  /** 强制升级 */
  Force: boolean;
  /** 静默升级 */
  Silent: boolean;
  /** Wgt(增量升级) */
  Wgt: boolean;

  /** 作者 */
  Author: string;
  /** 电子邮箱 */
  Email: string;
  /** 手机号码 */
  PhoneNumber: string;
}
/** 输入DTO：移动端版本 */
export interface AppVersionInputDto extends AppVersionInputDtoSimple {
  /** 应用程序包 */
  Package: AppPackageInputDto;
}

/** 简单输出DTO：移动端版本 */
export interface AppVersionOutputDtoSimple extends AppVersionInputDtoSimple {
  /** 实体类型 */
  EntityType: string;

  /** 应用编码 */
  AppCode: string;
  /** 应用平台 */
  AppPlatform: string;

  /** 应用名称 */
  AppName: string;

  /** 创建者编号 */
  CreatorId?: string | bigint;
  /** 创建者名称 */
  CreatorName?: string;
  /** 创建者昵称 */
  CreatorNickname?: string;
  /** 创建时间 */
  CreatedTime: Date;

  /** 更新者编号 */
  UpdaterId?: string | bigint;
  /** 更新者名称 */
  UpdaterName?: string;
  /** 更新者昵称 */
  UpdaterNickname?: string;
  /** 更新时间 */
  UpdatedTime?: Date;
}
/** 输出DTO：移动端版本 */
export interface AppVersionOutputDto extends AppVersionOutputDtoSimple {
  /** 应用程序包 */
  Package: AppPackageOutputDto;
}

/** 简单输入DTO：移动端应用 */
export interface AppInputDtoSimple {
  /** 应用编号 */
  Id: string | bigint;

  /** 应用编码 */
  Code: string;
  /** 应用平台 */
  Platform: string;

  /** 名称 */
  Name: string;
  /** 描述 */
  Description: string;

  /** 图标 */
  Icon: string;

  /** 作者 */
  Author: string;
  /** 电子邮箱 */
  Email: string;
  /** 手机号码 */
  PhoneNumber: string;

  /** 是否请求AppStore链接 */
  AppStoreLink: boolean;
  /** 链接地址 */
  Url: string;

  /** 是否锁定当前信息 */
  IsLocked: boolean;
}
/** 输入DTO：移动端应用 */
export interface AppInputDto extends AppInputDtoSimple {
  /** 版本集合 */
  Versions: AppVersionInputDto[];
}

/** 简单输出DTO：移动端应用 */
export interface AppOutputDtoSimple extends AppInputDtoSimple {
  /** 实体类型 */
  EntityType: string;

  /** 创建者编号 */
  CreatorId?: string | bigint;
  /** 创建者名称 */
  CreatorName?: string;
  /** 创建者昵称 */
  CreatorNickname?: string;
  /** 创建时间 */
  CreatedTime: Date;

  /** 更新者编号 */
  UpdaterId?: string | bigint;
  /** 更新者名称 */
  UpdaterName?: string;
  /** 更新者昵称 */
  UpdaterNickname?: string;
  /** 更新时间 */
  UpdatedTime?: Date;
}
/** 输出DTO：移动端应用 */
export interface AppOutputDto extends AppOutputDtoSimple {
  /** 版本集合 */
  Versions: AppVersionOutputDto[];
}

/** 升级检测DTO */
export interface UpgradeCheckDto {
  /** 应用编码 */
  Code: string;
  /** 应用平台 */
  Platform: string;
}

/** 应用程序结果DTO */
export interface AppPackageResultDto extends UpgradeCheckDto {
  /** 应用名称 */
  Name: string;

  /** 图标 */
  Icon: string;

  /** 版本名称 */
  Version: string;
  /** 版本号 */
  VersionCode: string;

  /** 标题 */
  Title: string;
  /** 内容 */
  Content: string;

  /** 启用 */
  Enabled: boolean;

  /** 强制升级 */
  Force: boolean;
  /** 静默升级 */
  Silent: boolean;
  /** Wgt(增量升级) */
  Wgt: boolean;

  /** 作者 */
  Author: string;
  /** 电子邮箱 */
  Email: string;
  /** 手机号码 */
  PhoneNumber: string;

  /** 是否请求AppStore链接 */
  AppStoreLink: boolean;
  /** 链接地址 */
  Url: string;

  /** 升级包大小 */
  Size: number;
}
